package com.weizhizs.assistant.code.vo;

import lombok.Data;

import java.util.List;

@Data
public class ColumnVO {

    /**
     * 列名, 数据库内的字段名
     */
    private String columnName;

    /**
     * 列类型，数据库内的类型
     */
    private String dataType;

    /**
     * 列名备注
     */
    private String comments;

    /**
     * 属性名称(第一个字母小写)，如: user_name => userName
     */
    private String attrName;

    /**
     * 属性类型
     */
    private String attrType;

    /**
     * 是否auto_increment
     */
    private Boolean isAutoKey = Boolean.FALSE;

    /**
     * 是否可空， true NULL，false NOT NULL
     */
    private Boolean isNullable = Boolean.FALSE;

    /**
     * 默认值
     */
    private String defaultValue;

    /** 字节数 */
    private Integer charLength;

    /** 枚举列表 */
    private List<EnumVO> enumList;

    public String getColumnName() {
        return columnName;
    }

    public void setColumnName(String columnName) {
        this.columnName = columnName;
    }

    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType;
    }

    public String getComments() {
        return comments;
    }

    public void setComments(String comments) {
        this.comments = comments;
    }

    public String getAttrName() {
        return attrName;
    }

    public void setAttrName(String attrName) {
        this.attrName = attrName;
    }

    public String getAttrType() {
        return attrType;
    }

    public void setAttrType(String attrType) {
        this.attrType = attrType;
    }

    public Boolean getIsAutoKey() {
        return isAutoKey;
    }

    public void setIsAutoKey(Boolean autoKey) {
        isAutoKey = autoKey;
    }

    public Boolean getIsNullable() {
        return isNullable;
    }

    public void setIsNullable(Boolean nullable) {
        isNullable = nullable;
    }

    public String getDefaultValue() {
        return defaultValue;
    }

    public void setDefaultValue(String defaultValue) {
        this.defaultValue = defaultValue;
    }

    public Integer getCharLength() {
        return charLength;
    }

    public void setCharLength(Integer charLength) {
        this.charLength = charLength;
    }

    public List<EnumVO> getEnumList() {
        return enumList;
    }

    public void setEnumList(List<EnumVO> enumList) {
        this.enumList = enumList;
    }
}
